class Solution {
public:
    bool canJump(vector<int>& nums) {
      int len = nums.size()-1;
      if(len==0) return true;
      int ans = 0;
      for(int i=0;i<len;i++){
        int cover = nums[i];
        if(i<=ans){
        ans = max(ans,i+nums[i]);
         if(ans>=len){
           return true;
          }
        }
      }
      return false;
    }
};
